package grade.calculate.constant;

import lombok.Getter;

/**
 * 保留小数位数枚举常量
 *
 * @author fromdrowning
 * @date 2024/2/22 0:10
 */
@Getter
public enum Scale {

    /**
     * 保留一位小数
     */
    ONE(1),

    /**
     * 保留两位小数
     */
    TWO(2),

    /**
     * 保留三位小数
     */
    THIRD(3);

    /**
     * 枚举对应的值
     */
    private final Integer scale;

    /**
     * 带参构造方法
     *
     * @param scale 枚举对应的值
     */
    Scale(Integer scale) {
        this.scale = scale;
    }

    /**
     * 根据枚举对象获取对应的值
     *
     * @param scale 枚举对象
     * @return {@link Integer} 枚举对象对应的值
     */
    public static Integer getScale(Scale scale) {
        return switch (scale) {
            case ONE -> ONE.getScale();
            case TWO -> TWO.getScale();
            case THIRD -> THIRD.getScale();
        };
    }
}
